package com.d3works.apps.account.service.move;

import com.d3works.apps.account.db.MoveLine;
import com.d3works.exception.D3worksException;
import java.time.LocalDate;

public interface MoveLineInvoiceTermService {
  void generateDefaultInvoiceTerm(
      MoveLine moveLine, LocalDate singleTermDueDate, boolean canCreateHolbackMoveLine)
      throws D3worksException;

  void generateDefaultInvoiceTerm(MoveLine moveLine, boolean canCreateHolbackMoveLine)
      throws D3worksException;

  void updateInvoiceTermsParentFields(MoveLine moveLine);

  void recreateInvoiceTerms(MoveLine moveLine) throws D3worksException;

  void setDueDateFromInvoiceTerms(MoveLine moveLine);
}
